const mongoose = require('mongoose')
var bcrypt = require('bcryptjs');

const schema = new mongoose.Schema({
    // 表中字段和类型
    username: { type: String },
    password: { type: String, set:function(val){
        // 参数1: 密码 参数2: 安全强度指数 数值越高越安全 但是性能越低
        // 优点: 每次hash的值都不一样 安全系数高
        // Bcrypt生成的密文是60位的
        // 发现同一个密码加密后的结果都不一样，所以不能被反推破解
        return bcrypt.hashSync(val, 10)
        // $2a$10$sQbbbURmSNMnMA81YpOvgOdDin..J3GHC97S6NdtlwRHjQb86T7K.
        // $2a$10$ZS3oQIejnQxsx9ch/v4PuuTefp8u2EHP9GGgZw3P7jPjXDFzcXKxG
        // $2a$10$6ilS9et.1Y3E0xiu82.iE.Y9DxWtAmfTzv0p6ftxMUi1J5HSDQKBi
    },
    // 表示不被查询 所以在页面上展示的是空
    select: false
 }
})
// 需要在哪里使用数据 就在哪里导入
module.exports = mongoose.model('Admin', schema)